.button, .button:visited { /* botones genéricos */
  background: #222 url(URL_overlay.png) repeat-x;
  display: inline-block;
  padding: 5px 10px 6px;
  color: #FFF;
  text-decoration: none;
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;
  -moz-box-shadow: 0 1px 3px rgba(0,0,0,0.6);
  -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.6);
  text-shadow: 0 -1px 1px rgba(0,0,0,0.25);
  border-bottom: 1px solid rgba(0,0,0,0.25);
  position: relative;
  cursor:pointer
}
.button:hover { /* el efecto hover */
  background-color: #111;
  color: #FFF;
}
.button:active{  /* el efecto click */
  top: 1px;
}

 /* botones pequeños */
.small.button, .small.button:visited {
  font-size: 11px ;
}

 /* botones medianos */
.button, .button:visited,.medium.button, .medium.button:visited {
  font-size: 13px;
  font-weight: bold;
  line-height: 1;
  text-shadow: 0 -1px 1px rgba(0,0,0,0.25);
}

 /* botones grandes */
.large.button, .large.button:visited {
  font-size:14px;
  padding: 8px 14px 9px;
}

 /* botones extra grandes */
.super.button, .super.button:visited {
  font-size: 34px;
  padding: 8px 14px 9px;
}

Por útimo, definimos los colores, aquí algunos ejemplos:


.pink.button { background-color: #E22092; }
.pink.button:hover{ background-color: #C81E82; }

.green.button, .green.button:visited { background-color: #91BD09; }
.green.button:hover{ background-color: #749A02; }

.red.button, .red.button:visited { background-color: #E62727; }
.red.button:hover{ background-color: #CF2525; }

.orange.button, .orange.button:visited { background-color: #FF5C00; }
.orange.button:hover{ background-color: #D45500; }

.blue.button, .blue.button:visited { background-color: #2981E4; }
.blue.button:hover{ background-color: #2575CF; }

.yellow.button, .yellow.button:visited { background-color: #FFB515; }
.yellow.button:hover{ background-color: #FC9200; }